/**
 * @ Author:Yoann Meclot. MSay2
 * @ Created on:2020-08-30 18:31:28
 * @ Modified on: 2021-06-14 18:51:21
 *
 * @version 1.3
 */
/**
 * Copyright (c) 2020-2021 MSay2 (Yoann Meclot) - @msay2/tspoet
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/**
 * TSConstant object allows you to build constants for enumerations.
 *
 * @class `TSConstant`
 * @version 1.2
 */
export declare class TSConstant
{
    /**
     * Build constant.
     *
     * @param name The name of the constant.
     * @param value The value of the constant.
     * @throws {TSPoetException} Check if the name is undefined or null.
     * @throws {TSPoetException} Check if the value is undefined or null.
     * @type {TSConstant.Builder}
     * @since 1.0
     */
    public static constantBuilder(name:string, value:any):TSConstant.Builder;

    public static Builder:{
        new (name:string, value:any):{
            /**
             * Add documentation.
             *
             * @param arg Your comment.
             * @throws {TSPoetException} Check if the arg is undefined or null.
             * @type {TSConstant.Builder}
             * @since 1.1
             */
            addDoc(arg:string):TSConstant.Builder;

            /**
             * Build constant.
             *
             * @type {TSConstant}
             * @since 1.0
             */
            build():TSConstant;
        };
    };
    
    private constructor(builder:TSConstant.Builder);
}
export declare namespace TSConstant
{
    type Builder = InstanceType<typeof TSConstant.Builder>;
}
//# sourceMappingURL=TSConstant.d.ts.map